﻿
namespace Client.planet
{
    // Bound to @PlanetType enum@
    enum PlanetType
    {
        Inferno, Toxic, Radiated, 
        Barren, Ocean, 
        Desert, Tundra,
        Swamp,
        Terran,
        Gaia,
        GasGiant, AsteroidBelt
    }
    // Bound to @PlanetSize enum@
    enum PlanetSize { Tiny, Small, Medium, Large, Huge }
    // Bound to @PlanetWorth enum@
    enum PlanetWorth { UltraPoor, Poor, Abundant, Rich, UltraRich }
    // Bound to @PlanetIndex enum@
    enum PlanetIndex { I, II, III, IV, V }
    enum PlanetWorthMul { UltraPoor = 1, Poor, Abundant, Rich = 5, UltraRich  = 8 }

    static class Tables
    {
        // Bound to @PlanetSize enum@ & @PlanetType enum@
        /// <summary>
        /// PlanetSize x PlanetType planetary maximum population table
        /// </summary>
        public static int[,] planetMaxPop = {
                                            { 1, 1, 1, 1, 1, 2, 2, 3, 4, 5, 0, 0 },
                                            { 3, 3, 3, 3, 3, 4, 4, 6, 8,10, 0, 0 },
                                            { 4, 4, 4, 4, 4, 6, 6, 9,12,15, 0, 0 },
                                            { 5, 5, 5, 5, 5, 8, 8,12,16,20, 0, 0 },
                                            { 6, 6, 6, 6, 6,10,10,15,20,25, 0, 0 }
                                            };
        // Bound to @PlanetType enum@
        /// <summary>
        /// Subterranean modifiers dependent on PlanetType
        /// </summary>
        public static double[] subterraneanMul = { 1.5, 1.5, 1.5, 1.5, 1.5, 1.0, 1.0, 0.67, 0.5, 0.4 };                           
    }
}